#include <iostream>
#include <cstring>

using namespace std;

class Mystring
{
public:
	Mystring(const char *newstr)//构造函数
	{
		//分配堆空间
		p=new char[20];
		strcpy(p,newstr);
	}
	Mystring(Mystring &otherstring)//拷贝构造函数
	{
		//先给当前对象中的指针单独分配堆空间--》实现深拷贝
		this->p=new char[20];
		strcpy(this->p,otherstring.p);
	} 
	void output()
	{
		cout<<p<<endl;
	}
	private:
		char *p; //用来存放字符串
	
};

int main()
{
	Mystring str1("hello");
	Mystring str2 = str1; 
	Mystring str3(str1);
	str1.output();
	str2.output();
	str3.output();
}